home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
PsL Monthly 1993 December
/
PSL Monthly Shareware CD-ROM (December 1993).iso
/
prgmming
/
dos
/
c
/
tcombo.exe
/
TCOMBOBX.H
< prev
next >
Wrap
C/C++ Source or Header
|
1992-11-18
|
7KB
|
208 lines
/*************************************************************************/
/* */
/* TCOMBOBX.H */
/* */
/* Copyright (c) 1992, Vincent J. Dentice */
/* All rights reserved */
/* */
/* The TComboBox class is an extension to Borland International's Turbo */
/* Vision Applications Framework for DOS. It provides a class that */
/* acts like a Combo Box in other graphical environments like Microsoft */
/* Windows and IBM OS/2. */
/* */
/* It is designed to be with a TDialog class and a TCollection Class. */
/* */
/* */
/* Date Prg Ver Description */
/* -------- --- --- ------------------------------------------------- */
/* 09/30/92 VJD 0.1 Initial module definition. */
/* 11/16/92 VJD 0.2 Added streamability to the TComboBox classes. */
/* Rewrote header files to behave like original */
/* Turbo Vision header files. */
/* 11/17/92 VJD 0.3 Added getData and setData functions to TComboBox, */
/* and also added the missing dataSize function to */
/* TComboViewer. */
/* */
/*************************************************************************/
#if defined( Uses_TComboBox )
#define Uses_TCollection
#define Uses_TInputLine
#define Uses_TView
#endif
#if defined( Uses_TComboWindow )
#define Uses_TComboViewer
#define Uses_TWindow
#endif
#if defined( Uses_TComboViewer )
#define Uses_TCollection
#define Uses_TEvent
#define Uses_TListViewer
#endif
#if defined( Uses_TCollection ) && !defined( __TCollection )
#define INCLUDE_TV_H
#endif
#if defined( Uses_TEvent ) && !defined( __TEvent)
#define INCLUDE_TV_H
#endif
#if defined( Uses_TInputLine ) && !defined( __TInputLine )
#define INCLUDE_TV_H
#endif
#if defined( Uses_TListViewer ) && !defined( __TListViewer )
#define INCLUDE_TV_H
#endif
#if defined( Uses_TView ) && !defined( __TView )
#define INCLUDE_TV_H
#endif
#if defined( Uses_TWindow ) && !defined( __TWindow )
#define INCLUDE_TV_H
#endif
#if defined( INCLUDE_TV_H )
#include <tv.h>
#endif
#if defined( Uses_TComboBox ) && !defined( __TComboBox )
#define __TComboBox
class TComboBox : public TView {
protected:
static char *icon;
TInputLine *link;
TCollection *list;
public:
TComboBox(const TRect&, TInputLine *, TCollection *);
virtual ushort dataSize();
virtual void draw();
virtual void getData(void *);
TPalette& getPalette() const;
virtual void handleEvent(TEvent&);
virtual void newList(TCollection *);
virtual void setData(void *);
void shutDown();
private:
virtual const char *streamableName() const
{ return name; }
protected:
TComboBox(StreamableInit);
virtual void write(opstream&);
virtual void *read(ipstream&);
public:
static const char * const near name;
static TStreamable *build();
};
inline ipstream& operator >> ( ipstream& is, TComboBox& cl )
{ return is >> (TStreamable&)cl; }
inline ipstream& operator >> ( ipstream& is, TComboBox*& cl )
{ return is >> (void *&)cl; }
inline opstream& operator << ( opstream& os, TComboBox& cl )
{ return os << (TStreamable&)cl; }
inline opstream& operator << ( opstream& os, TComboBox* cl )
{ return os << (TStreamable *)cl; }
#endif
#if defined( Uses_TComboViewer ) && !defined( __TComboViewer )
#define __TComboViewer
class TComboViewer : public TListViewer {
public:
TCollection *list;
TComboViewer(const TRect&, TCollection*, TScrollBar*);
virtual ushort dataSize();
TPalette& getPalette() const;
virtual void getData(void *);
virtual void getText(char *, short, short);
virtual void handleEvent(TEvent&);
virtual void newList(TCollection *);
virtual void setData(void *);
void shutDown();
private:
virtual const char *streamableName() const
{ return name; }
protected:
TComboViewer(StreamableInit);
virtual void write(opstream&);
virtual void *read(ipstream&);
public:
static const char * const near name;
static TStreamable *build();
};
inline ipstream& operator >> ( ipstream& is, TComboViewer& cl )
{ return is >> (TStreamable&)cl; }
inline ipstream& operator >> ( ipstream& is, TComboViewer*& cl )
{ return is >> (void *&)cl; }
inline opstream& operator << ( opstream& os, TComboViewer& cl )
{ return os << (TStreamable&)cl; }
inline opstream& operator << ( opstream& os, TComboViewer* cl )
{ return os << (TStreamable *)cl; }
#endif
#if defined( Uses_TComboWindow ) && !defined( __TComboWindow )
#define __TComboWindow
class TComboWindow : public TWindow {
protected:
TComboViewer *viewer;
public:
TComboWindow(const TRect&, TCollection*);
TPalette& getPalette() const;
void getSelection(char *);
virtual void handleEvent(TEvent&);
void setSelection(char *);
private:
virtual const char *streamableName() const
{ return name; }
protected:
TComboWindow(StreamableInit);
virtual void write(opstream&);
virtual void *read(ipstream&);
public:
static const char * const near name;
static TStreamable *build();
};
inline ipstream& operator >> ( ipstream& is, TComboWindow& cl )
{ return is >> (TStreamable&)cl; }
inline ipstream& operator >> ( ipstream& is, TComboWindow*& cl )
{ return is >> (void *&)cl; }
inline opstream& operator << ( opstream& os, TComboWindow& cl )
{ return os << (TStreamable&)cl; }
inline opstream& operator << ( opstream& os, TComboWindow* cl )
{ return os << (TStreamable *)cl; }
#endif